package com.xdf.xzymanagementsystem.entity;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import lombok.Builder;
import lombok.Data;
import lombok.experimental.Tolerate;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 由 chanchaw 创建于 2025-3-21 18:43:41，实现功能如下：
 * 1. 实现接口 Serializable
 * 2. 无参构造函数
 * 3. 建造者模式
 * 4. getter,setter,toString()
 * 单据,主表,订单
 */
@Data
@Builder
@Table("product_main")
public class ProductMain implements Serializable {
    @Tolerate
    public ProductMain() {}

    @Override
    public Object clone() throws CloneNotSupportedException {
        return super.clone();
    }

    @Id(keyType = KeyType.Auto)
    private Integer id;//自增主键
    private java.util.Date billDate;//单据日期，表示业务发生的日期，默认填充当天，用户可修改
    private String billCode;//单据编号
    private String billType;//单据类型 = bill_type.id(varchar)
    private String orderNo;//订单号
    private Integer clientId;//客户主键 = jc_contactcompany.id
    private String driver;//驾驶员
    private String plateNo;//车牌号
    private BigDecimal settlQty;//结算重量公斤
    private BigDecimal shipFee;//运费人民币
    private String shipPay;//运费付费方：本厂付、对方付
    private String shipType;//付费方式：现结、欠账
    private Float seq;//排序序号
    private Integer state;//状态，0作废，默认1有效，2已审核，3已驳回，4已完成。设置订单完成时要同步设置此处为4
    private Integer isDelete;//删除标识，默认0未删除，1表示删除。mybatis-flex默认使用该名称作为逻辑删除的标识
    private String remark;//备注
    private String craftRemark;//工艺备注
    private String sysRemark;//系统备注，系统在做自动化操作时用于说明业务逻辑
    private java.util.Date createTime;//创建时间
    private String createUser;//创建人
    private java.util.Date updateTime;//最后一次修改时间
    private String updateUser;//最后一次修改人
}
